home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / brklyprl.lha / Emulator / Benchmarks / mumath.w < prev    next >
Encoding:
Text File  |  1989-04-14  |  3.2 KB  |  214 lines

  1. procedure  main/0
  2.  
  3. _539:
  4.     put_list  X2
  5.     unify_constant_write  m
  6.     get_cdr_list_write
  7.     unify_constant_write  u
  8.     get_cdr_list_write
  9.     unify_constant_write  i
  10.     get_cdr_list_write
  11.     unify_constant_write  i
  12.     get_cdr_list_write
  13.     unify_constant_write  u
  14.     unify_nil_write
  15.     put_constant  &5,X1
  16.     execute_proc  theorem/2
  17.  
  18.  
  19. procedure  rules/2
  20.  
  21. _1669:
  22.     try_me_else  _1674,2
  23. _1678:
  24.     execute_proc  rule3/2
  25. _1674:
  26.     retry_me_else  _1691
  27. _1695:
  28.     execute_proc  rule4/2
  29. _1691:
  30.     retry_me_else  _1708
  31. _1712:
  32.     execute_proc  rule1/2
  33. _1708:
  34.     trust_me_else  fail
  35. _1729:
  36.     execute_proc  rule2/2
  37.  
  38.  
  39. procedure  rule1/2
  40.  
  41. _2234:
  42.     get_variable_x  X3,X1
  43.     get_variable_y  Y1,X2
  44.     put_list  X2
  45.     unify_constant_write  i
  46.     unify_nil_write
  47.     put_variable_y  Y2,X1
  48.     call  append/3,2
  49.     put_list  X2
  50.     unify_constant_write  i
  51.     get_cdr_list_write
  52.     unify_constant_write  u
  53.     unify_nil_write
  54.     put_unsafe_value  Y2,X1
  55.     put_value_y  Y1,X3
  56.     execute_proc  append/3
  57.  
  58.  
  59. procedure  rule2/2
  60.  
  61. _2717:
  62.     get_list  X1
  63.     unify_constant  m
  64.     unify_variable_x  X1
  65.     get_list  X2
  66.     unify_constant  m
  67.     unify_variable_x  X3
  68.     put_value_x  X1,X2
  69.     execute_proc  append/3
  70.  
  71.  
  72. procedure  rule3/2
  73.  
  74.     switch_on_term  _3658,_3659,_3660
  75. _3664:
  76.     try_me_else  _3669,2
  77. _3673:
  78.     get_constant  -,X2
  79.     get_nil  X1
  80.     fail
  81. _3669:
  82.     retry_me_else  _3701
  83. _3660:
  84.     get_variable_x  X3,X1
  85.     get_variable_y  Y1,X2
  86.     put_list  X1
  87.     unify_constant_write  i
  88.     get_cdr_list_write
  89.     unify_constant_write  i
  90.     get_cdr_list_write
  91.     unify_constant_write  i
  92.     unify_nil_write
  93.     put_variable_y  Y2,X2
  94.     call  append/3,2
  95.     put_list  X1
  96.     unify_constant_write  u
  97.     unify_nil_write
  98.     put_unsafe_value  Y2,X2
  99.     put_value_y  Y1,X3
  100.     execute_proc  append/3
  101. _3701:
  102.     trust_me_else  fail
  103. _3829:
  104.     get_list  X1
  105.     unify_variable_x  X3
  106.     unify_variable_x  X1
  107.     get_list  X2
  108.     unify_value_x  X3
  109.     unify_variable_x  X2
  110.     execute_proc  rule3/2
  111. _3659:
  112.     try  _3660,2
  113.     trust  _3829
  114. _3658:
  115.     try  _3673,2
  116.     trust  _3660
  117.  
  118.  
  119. procedure  rule4/2
  120.  
  121.     switch_on_term  _4918,_4919,_4920
  122. _4924:
  123.     try_me_else  _4929,2
  124. _4933:
  125.     get_constant  -,X2
  126.     get_nil  X1
  127.     fail
  128. _4929:
  129.     retry_me_else  _4961
  130. _4920:
  131.     get_variable_x  X3,X1
  132.     put_list  X1
  133.     unify_constant_write  u
  134.     get_cdr_list_write
  135.     unify_constant_write  u
  136.     unify_nil_write
  137.     execute_proc  append/3
  138. _4961:
  139.     trust_me_else  fail
  140. _5018:
  141.     get_list  X1
  142.     unify_variable_x  X3
  143.     unify_variable_x  X1
  144.     get_list  X2
  145.     unify_value_x  X3
  146.     unify_variable_x  X2
  147.     execute_proc  rule4/2
  148. _4919:
  149.     try  _4920,2
  150.     trust  _5018
  151. _4918:
  152.     try  _4933,2
  153.     trust  _4920
  154.  
  155.  
  156. procedure  theorem/2
  157.  
  158. _6053:
  159.     try_me_else  _6058,2
  160. _6062:
  161.     get_list  X2
  162.     unify_constant  m
  163.     get_cdr_list
  164.     unify_constant  i
  165.     unify_nil
  166.     proceed
  167. _6058:
  168.     retry_me_else  _6099
  169. _6103:
  170.     get_nil  X2
  171.     fail
  172. _6099:
  173.     trust_me_else  fail
  174. _6127:
  175.     get_variable_x  X3,X1
  176.     get_variable_y  Y1,X2
  177.     put_value_x  X3,X1
  178.     put_constant  &0,X2
  179.     escape  >/2
  180.     put_variable_x  X1,X1
  181.     put_value_x  X3,X2
  182.     put_constant  -,X3
  183.     put_constant  &1,X4
  184.     escape  is/4
  185.     put_variable_y  Y2,X2
  186.     call  theorem/2,2
  187.     put_unsafe_value  Y2,X1
  188.     put_value_y  Y1,X2
  189.     execute_proc  rules/2
  190.  
  191.  
  192. procedure  append/3
  193.  
  194.     switch_on_term  _6921,_6922,fail
  195. _6927:
  196.     try_me_else  _6932,3
  197. _6921:
  198.     get_value_x  X2,X3
  199.     get_nil  X1
  200.     proceed
  201. _6932:
  202.     trust_me_else  fail
  203. _6922:
  204.     get_list  X1
  205.     unify_variable_x  X4
  206.     unify_variable_x  X1
  207.     get_list  X3
  208.     unify_value_x  X4
  209.     unify_variable_x  X3
  210.     cut
  211.     execute_proc  append/3
  212.  
  213.  
  214.